Barcodes are used widely in various settings. For example, many items sold at retail stores are labeled with barcodes. Each barcode encodes information that uniquely identifies the labeled item. In retail stores, the use of barcodes has eliminated the need for manually looking up identifying information and price of each item at cash registers, thereby significantly improving the checkout process.
But conventional barcodes represented by visible patterns require optical scanners to read the barcodes. Reading conventional barcodes with a portable electronic device (e.g., a mobile phone or a tablet) requires launching a camera application, placing a barcode at an appropriate distance in front of a camera of the portable electronic device, waiting for the camera to focus on the barcode, and taking a photograph of the barcode, which is time-consuming, cumbersome and inefficient.